package com.scau.RBAC.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class TestController {

    // 注入 JdbcTemplate（Spring 自动配置，无需手动创建）
    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 测试数据库连接是否成功
    @GetMapping("/test-db")
    public String testDb() {
        try {
            // 执行一个简单的查询（查询数据库版本）
            String version = jdbcTemplate.queryForObject(
                    "SELECT VERSION()", String.class
            );
            return "数据库连接成功！MySQL 版本：" + version;
        } catch (Exception e) {
            return "数据库连接失败：" + e.getMessage();
        }
    }
    @GetMapping("/show-users")
    public String showUsers() {
        try {
            // 执行查询，返回 user 表所有记录（每条记录以 Map 形式存储，key 是字段名，value 是值）
            List<Map<String, Object>> users = jdbcTemplate.queryForList("SELECT * FROM users");

            if (users.isEmpty()) {
                return "users 表中没有数据";
            }

            // 拼接查询结果为字符串，方便浏览器显示
            StringBuilder result = new StringBuilder("users 表数据如下：\n");
            for (Map<String, Object> user : users) {
                result.append(user).append("\n"); // 直接打印每条记录的 Map
            }
            return result.toString();
        } catch (Exception e) {
            return "查询 users 表失败：" + e.getMessage();
        }
    }
}